SCORES ANAlYSIS

单变量绘图选择

#画出每科成绩以及总分和理综的频率分布图
ggplot(aes(x=total_score),data=df)+
  geom_histogram(stat='bin',bins =30,color=I('black'),fill=I('gray'))+
  geom_vline(linetype='dashed',color='red',
             xintercept = quantile(df$total_score,c(0.05,0.95)))

从图中可以看出,总分分布属于正态分布,异常值应存在于340分以下,580分以上。但统计意义上的异常值真实存在。

ggplot(aes(x=chinese),data=df)+
  geom_histogram(stat='bin',bins=30,color=I('black'),fill=I('gray'))+
  geom_vline(linetype='dashed',color='red',
             xintercept = quantile(df$chinese,c(0.05,0.95)))

从图中可以看出,语文成绩分布属于正态分布,异常值应存在于75分以下,105分以上。但统计意义上的异常值真实存在。同时语文分布较窄,说明方差较小。

ggplot(aes(x=math),data=df)+
  geom_histogram(stat='bin',bins =25,color=I('black'),fill=I('gray'))+
  geom_vline(linetype='dashed',color='red',
             xintercept = quantile(df$math,c(0.05,0.95)))

从图中可以看出,数学成绩分布属于正态分布,异常值应存在于60分以下,130分以上。但统计意义上的异常值真实存在

ggplot(aes(x=english),data=df)+
  geom_histogram(stat='bin',bins =28,color=I('black'),fill=I('gray'))+
  geom_vline(linetype='dashed',color='red',
             xintercept = quantile(df$english,c(0.05,0.95)))

从图中可以看出,英语成绩分布属于正态分布,异常值应存在于63分以下,120分以上。但统计意义上的异常值真实存在。

ggplot(aes(x=science_integrated),data=df)+
  geom_histogram(stat='bin',bins =25,color=I('black'),fill=I('gray'))+
  geom_vline(linetype='dashed',color='red',
             xintercept = quantile(df$science_integrated,c(0.05,0.95)))

从图中可以看出,理综成绩分布属于正态分布,异常值应存在于105分以下,240分以上。但统计意义上的异常值真实存在。

ggplot(aes(x=physics),data=df)+
  geom_histogram(stat='bin',bins =28,color=I('black'),fill=I('gray'))+
  geom_vline(linetype='dashed',color='red',
             xintercept = quantile(df$physics,c(0.05,0.95)))

从图中可以看出,物理成绩分布属于正态分布,异常值应存在于30分以下,90分以上。但统计意义上的异常值真实存在。

ggplot(aes(x=chemistry),data=df)+
  geom_histogram(stat='bin',bins =30,color=I('black'),fill=I('gray'))+
  geom_vline(linetype='dashed',color='red',
             xintercept = quantile(df$chemistry,c(0.05,0.95)))

从图中可以看出,化学成绩分布近似正态分布,异常值应存在于35分以下,88分以上。但统计意义上的异常值真实存在。

ggplot(aes(x=biology),data=df)+
  geom_histogram(stat='bin',bins =30,color=I('black'),fill=I('gray'))+
  geom_vline(linetype='dashed',color='red', 
             xintercept = quantile(df$biology,c(0.05,0.95)))

从图中可以看出,生物成绩分布属于正态分布,异常值应存在于30分以下,70分以上。但统计意义上的异常值真实存在。

ggplot(aes(x=rating),data=df)+
  geom_bar(stat='count',color=I('black'),fill=I('gray'),width=0.2)

从上图可以看出,不同评级的学生的人数大致相同,D类学生较少的原因可能是因为上面的操作将不少缺考的学生记录(零分)删除了。

ggplot(aes(x=class_category),data=df)+
  geom_bar(stat='count',color=I('black'),fill=I('gray'),width = 0.2)

Extraordinary的学生是最少的,仅有约20人,Key的学生人数在160人左右。不同类班级人数的差异的原因是人为选择因素.

#简单汇总数据
summary(df)
##     student_id    class_number  total_score  standard_score 
##  12020101:   1   20     : 65   Min.   :103   Min.   :366.0  
##  12020123:   1   4      : 62   1st Qu.:410   1st Qu.:460.0  
##  12020145:   1   16     : 61   Median :464   Median :488.0  
##  12020222:   1   17     : 61   Mean   :459   Mean   :488.5  
##  12020244:   1   3      : 60   3rd Qu.:510   3rd Qu.:516.0  
##  12020321:   1   26     : 60   Max.   :653   Max.   :616.0  
##  (Other) :1187   (Other):824                                
##       rank           chinese       rank_of_chinese       math       
##  Min.   :   1.0   Min.   : 19.00   Min.   :   1.0   Min.   : 10.00  
##  1st Qu.: 297.0   1st Qu.: 86.00   1st Qu.: 282.0   1st Qu.: 84.00  
##  Median : 595.0   Median : 91.00   Median : 549.0   Median :100.00  
##  Mean   : 594.9   Mean   : 90.41   Mean   : 578.9   Mean   : 98.18  
##  3rd Qu.: 888.0   3rd Qu.: 96.00   3rd Qu.: 855.0   3rd Qu.:114.00  
##  Max.   :1212.0   Max.   :114.00   Max.   :1211.0   Max.   :150.00  
##                                                                     
##   rank_of_math       english       rank_of_english  science_integrated
##  Min.   :   1.0   Min.   : 23.00   Min.   :   1.0   Min.   : 37.0     
##  1st Qu.: 287.0   1st Qu.: 83.00   1st Qu.: 289.0   1st Qu.:150.0     
##  Median : 596.0   Median : 95.00   Median : 589.0   Median :179.0     
##  Mean   : 591.4   Mean   : 93.66   Mean   : 589.8   Mean   :176.7     
##  3rd Qu.: 899.0   3rd Qu.:106.00   3rd Qu.: 893.0   3rd Qu.:206.0     
##  Max.   :1203.0   Max.   :135.00   Max.   :1205.0   Max.   :282.0     
##                                                                       
##  rank_of_science     physics       rank_of_physics    chemistry    
##  Min.   :   1.0   Min.   :  2.00   Min.   :   1.0   Min.   : 7.00  
##  1st Qu.: 295.0   1st Qu.: 49.00   1st Qu.: 278.0   1st Qu.:53.00  
##  Median : 593.0   Median : 62.00   Median : 586.0   Median :66.00  
##  Mean   : 594.6   Mean   : 61.74   Mean   : 588.9   Mean   :63.88  
##  3rd Qu.: 888.0   3rd Qu.: 76.00   3rd Qu.: 896.0   3rd Qu.:77.00  
##  Max.   :1202.0   Max.   :110.00   Max.   :1206.0   Max.   :97.00  
##                                                                    
##  rank_of_chemistry    biology      rank_of_biology  rating 
##  Min.   :   1.0    Min.   :11.00   Min.   :   1.0   A:314  
##  1st Qu.: 277.0    1st Qu.:43.00   1st Qu.: 280.0   B:304  
##  Median : 576.0    Median :51.00   Median : 592.0   C:307  
##  Mean   : 588.6    Mean   :51.11   Mean   : 585.9   D:268  
##  3rd Qu.: 894.0    3rd Qu.:60.00   3rd Qu.: 889.0          
##  Max.   :1205.0    Max.   :86.00   Max.   :1205.0          
##                                                            
##  class_category    
##  Length:1193       
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

单变量分析

你的数据集结构是什么?

每一个考生id表示一个考生的成绩观察记录结果,每一列代表一个变量,包括的变量有考生id,考生班级,每一科的成绩与年级排名,总分和总分排名,以及理科综合(物理,生物和化学)及其排名。含有1232个观测值和20个变量。

你的数据集内感兴趣的主要特性有哪些?


1.每个科目以及总分的分布是否都近似与正态分布;
2.不同学科之间是否彼此间存在相关性;
3.不同类班级的总分分布范围是怎样的;
4.不同类班级间总分间的差异主要取决于哪一科目;
5.不同评级类学生科目成绩的差异是怎样的;
6.经验“语文英语好的学生普遍数理差,数理好的学生学不好语文和英语”是否能被证实。

你认为数据集内哪些其他特征可以帮助你探索兴趣特点?

不同科目的具体分数,类别变量rating和class_number、class_category

根据数据集内已有变量,你是否创建了任何新变量?

创建了新的变量class_category,方便探究不同类班级成绩的差异。

在已经探究的特性中,是否存在任何异常分布?你是否对数据进行一些操作,如清洁、调整或改变数据的形式?如果是,你为什么会这样做?

不存在,都近似于正态分布。我清理了不同科目下为零分的成绩记录,因为零分的存在是由于缺考,将这类数据保留可能会对结论的可靠性造成负面影响。

单变量分析总结:
1.探究的变量(各科成绩)均近似服从正态分布,因为对成绩具有影响的随机变量特别多,符合中心极限定理。同时也符合我们的日常生活经验,‘学霸’和‘学渣’都是人群中的少数。
2.语文的分布特别窄,说明语文成绩的方差较小,符合老师们的经典语录“语文拉不开分”。

双变量绘图选择

#绘制单科成绩与总成绩的散点图,观察相关关系
library('gridExtra')
g1<-ggplot(aes(x=chinese,y=total_score),data=df) + 
  geom_point(alpha = 0.5, size = 0.4, position = 'jitter')
g2<-ggplot(aes(x=math,y=total_score),data=df) + 
  geom_point(alpha = 0.5, size = 0.4, position = 'jitter')
g3<-ggplot(aes(x=english,y=total_score),data=df) + 
  geom_point(alpha = 0.5, size = 0.4, position = 'jitter')
g4<-ggplot(aes(x=science_integrated,y=total_score),data=df) + 
  geom_point(alpha = 0.5, size = 0.4, position = 'jitter')
g5<-ggplot(aes(x=physics,y=total_score),data=df) + 
  geom_point(alpha = 0.5, size = 0.4, position = 'jitter')
g6<-ggplot(aes(x=chemistry,y=total_score),data=df) + 
  geom_point(alpha = 0.5, size = 0.4, position = 'jitter')
g7<-ggplot(aes(x=biology,y=total_score),data=df) + 
  geom_point(alpha = 0.5, size = 0.4, position = 'jitter')
grid.arrange(g1,g2,g3,g4,g5,g6,g7,ncol=2)

从上图可以看出所有的学科成绩均与总分呈现正相关,数理性质的学科与总分之间会有更强的相关性,而语言学科与总分的相关性并没有那么强。

#绘制理综成绩与数学、物理、化学的散点图,以及数学与物理的散点图观察相关关系(相关性较强)
s1<-ggplot(aes(x=math,y=science_integrated),data=df) + 
  geom_point(alpha=0.5, size = 0.4, position = 'jitter')
s2<-ggplot(aes(x=math,y=physics),data=df) + 
  geom_point(alpha=0.5, size = 0.4, position = 'jitter')
s3<-ggplot(aes(x=physics,y=science_integrated),data=df) + 
  geom_point(alpha=0.5,size=0.4, position = 'jitter')
s4<-ggplot(aes(x=chemistry,y=science_integrated),data=df) + 
  geom_point(alpha=0.5,size=0.4, position = 'jitter')
grid.arrange(s1,s2,s3,s4)

数学和理综学科间的的相关性较强。

#语文和英语(语言学科间的相关性)
ggplot(aes(x=chinese,y=english),data=df) + 
  geom_point(alpha = 0.5, size = 0.4, position = 'jitter')

语言学科间的相关性不是很明显。

#两两变量相关系数矩阵
vars<-c("total_score","chinese","math","english","science_integrated","physics","chemistry","biology")
relation <- cor(df[vars])
relation
##                    total_score   chinese      math   english
## total_score          1.0000000 0.5488360 0.8716357 0.7076955
## chinese              0.5488360 1.0000000 0.4005042 0.4559474
## math                 0.8716357 0.4005042 1.0000000 0.4801175
## english              0.7076955 0.4559474 0.4801175 1.0000000
## science_integrated   0.9353162 0.3773129 0.7588580 0.5092228
## physics              0.8321405 0.2952857 0.7051731 0.4335059
## chemistry            0.8298133 0.3543669 0.6761055 0.4511540
## biology              0.7321922 0.3309654 0.5441445 0.4294743
##                    science_integrated   physics chemistry   biology
## total_score                 0.9353162 0.8321405 0.8298133 0.7321922
## chinese                     0.3773129 0.2952857 0.3543669 0.3309654
## math                        0.7588580 0.7051731 0.6761055 0.5441445
## english                     0.5092228 0.4335059 0.4511540 0.4294743
## science_integrated          1.0000000 0.8902644 0.8817071 0.7893437
## physics                     0.8902644 1.0000000 0.6602919 0.5522680
## chemistry                   0.8817071 0.6602919 1.0000000 0.5875243
## biology                     0.7893437 0.5522680 0.5875243 1.0000000
corrplot(corr = relation)

结合上面的相关系数矩阵和热度图,可以看出语文成绩与总成绩间的关系最弱;理科性质的学科,例如数学和物理对总成绩的相关性最强,其中理科学科与总成绩的相关性最弱的是生物;语文和其他的科目相关性最高的是英语,但是相关系数依然低于0.5。

library('gridExtra')
j1<-ggplot(aes(x=rating,y=total_score),data=df) + 
  geom_jitter(alpha = 0.5, size = 0.4, position = 'jitter')
j2<-ggplot(aes(x=rating,y=chinese),data=df) + 
  geom_jitter(alpha = 0.5, size = 0.4, position = 'jitter')
j3<-ggplot(aes(x=rating,y=math),data=df) + 
  geom_jitter(alpha = 0.5, size = 0.4, position = 'jitter')
j4<-ggplot(aes(x=rating,y=english),data=df) + 
  geom_jitter(alpha = 0.5, size = 0.4, position = 'jitter')
j5<-ggplot(aes(x=rating,y=science_integrated),data=df) + 
  geom_jitter(alpha = 0.5, size = 0.4, position = 'jitter')
j6<-ggplot(aes(x=rating,y=physics),data=df) + 
  geom_jitter(alpha = 0.5, size = 0.4, position = 'jitter')
j7<-ggplot(aes(x=rating,y=chemistry),data=df) + 
  geom_jitter(alpha = 0.5, size = 0.4, position = 'jitter')
j8<-ggplot(aes(x=rating,y=biology),data=df) + 
  geom_jitter(alpha = 0.5, size = 0.4, position = 'jitter')
grid.arrange(j1,j2,j3,j4,j5,j6,j7,j8,ncol=2)

library('doBy')
by(df[vars],df$rating,summary)
## df$rating: A
##   total_score       chinese           math          english     
##  Min.   :507.0   Min.   : 76.0   Min.   : 92.0   Min.   : 75.0  
##  1st Qu.:522.0   1st Qu.: 91.0   1st Qu.:113.0   1st Qu.:100.0  
##  Median :541.0   Median : 95.0   Median :122.0   Median :108.0  
##  Mean   :547.9   Mean   : 95.5   Mean   :121.1   Mean   :108.1  
##  3rd Qu.:566.0   3rd Qu.:100.0   3rd Qu.:128.8   3rd Qu.:116.8  
##  Max.   :653.0   Max.   :114.0   Max.   :150.0   Max.   :135.0  
##  science_integrated    physics         chemistry        biology     
##  Min.   :172.0      Min.   : 49.00   Min.   :50.00   Min.   :29.00  
##  1st Qu.:209.0      1st Qu.: 74.00   1st Qu.:74.25   1st Qu.:56.00  
##  Median :222.0      Median : 81.00   Median :81.00   Median :63.00  
##  Mean   :223.2      Mean   : 81.54   Mean   :79.59   Mean   :62.04  
##  3rd Qu.:235.0      3rd Qu.: 88.00   3rd Qu.:85.00   3rd Qu.:68.00  
##  Max.   :282.0      Max.   :110.00   Max.   :97.00   Max.   :86.00  
## -------------------------------------------------------- 
## df$rating: B
##   total_score       chinese            math          english      
##  Min.   :461.0   Min.   : 75.00   Min.   : 67.0   Min.   : 58.00  
##  1st Qu.:472.0   1st Qu.: 86.00   1st Qu.: 96.0   1st Qu.: 89.00  
##  Median :482.0   Median : 91.00   Median :105.0   Median : 98.00  
##  Mean   :482.9   Mean   : 91.34   Mean   :104.6   Mean   : 97.13  
##  3rd Qu.:494.0   3rd Qu.: 96.00   3rd Qu.:113.0   3rd Qu.:105.25  
##  Max.   :506.0   Max.   :110.00   Max.   :136.0   Max.   :127.00  
##  science_integrated    physics        chemistry        biology     
##  Min.   :143.0      Min.   :30.00   Min.   :38.00   Min.   :26.00  
##  1st Qu.:179.0      1st Qu.:59.00   1st Qu.:63.00   1st Qu.:47.75  
##  Median :190.0      Median :66.00   Median :71.00   Median :53.00  
##  Mean   :189.8      Mean   :66.37   Mean   :69.83   Mean   :53.65  
##  3rd Qu.:201.0      3rd Qu.:74.00   3rd Qu.:77.00   3rd Qu.:59.00  
##  Max.   :236.0      Max.   :90.00   Max.   :93.00   Max.   :76.00  
## -------------------------------------------------------- 
## df$rating: C
##   total_score       chinese           math           english      
##  Min.   :406.0   Min.   : 63.0   Min.   : 56.00   Min.   : 50.00  
##  1st Qu.:416.5   1st Qu.: 85.0   1st Qu.: 84.00   1st Qu.: 82.00  
##  Median :437.0   Median : 90.0   Median : 92.00   Median : 91.00  
##  Mean   :434.0   Mean   : 89.5   Mean   : 92.05   Mean   : 90.01  
##  3rd Qu.:449.0   3rd Qu.: 94.0   3rd Qu.:101.00   3rd Qu.: 99.50  
##  Max.   :460.0   Max.   :107.0   Max.   :127.00   Max.   :121.00  
##  science_integrated    physics        chemistry        biology     
##  Min.   :114.0      Min.   :22.00   Min.   :28.00   Min.   :15.00  
##  1st Qu.:151.0      1st Qu.:48.00   1st Qu.:52.00   1st Qu.:41.00  
##  Median :162.0      Median :55.00   Median :59.00   Median :49.00  
##  Mean   :162.4      Mean   :55.32   Mean   :59.05   Mean   :48.05  
##  3rd Qu.:174.5      3rd Qu.:63.00   3rd Qu.:67.00   3rd Qu.:54.00  
##  Max.   :222.0      Max.   :80.00   Max.   :89.00   Max.   :75.00  
## -------------------------------------------------------- 
## df$rating: D
##   total_score       chinese            math           english      
##  Min.   :103.0   Min.   : 19.00   Min.   : 10.00   Min.   : 23.00  
##  1st Qu.:337.0   1st Qu.: 80.00   1st Qu.: 63.00   1st Qu.: 68.00  
##  Median :372.0   Median : 86.00   Median : 74.50   Median : 79.00  
##  Mean   :356.3   Mean   : 84.46   Mean   : 71.05   Mean   : 76.93  
##  3rd Qu.:390.2   3rd Qu.: 90.00   3rd Qu.: 84.00   3rd Qu.: 87.00  
##  Max.   :405.0   Max.   :108.00   Max.   :108.00   Max.   :109.00  
##  science_integrated    physics        chemistry        biology     
##  Min.   : 37.0      Min.   : 2.00   Min.   : 7.00   Min.   :11.00  
##  1st Qu.:109.0      1st Qu.:32.00   1st Qu.:36.00   1st Qu.:32.75  
##  Median :125.0      Median :39.00   Median :44.50   Median :40.00  
##  Mean   :123.9      Mean   :40.67   Mean   :44.26   Mean   :38.95  
##  3rd Qu.:141.2      3rd Qu.:50.00   3rd Qu.:54.25   3rd Qu.:46.00  
##  Max.   :181.0      Max.   :80.00   Max.   :80.00   Max.   :63.00

结合上面两个chunk的结果,不同评级学生成绩的分布不同,总的来说A>B>C>D,其中语文成绩上四个评级相差不大。

#观察不同类班级的各科成绩的分布
v1<-ggplot(aes(x=class_category,y=total_score),data=df) + 
  geom_violin()
v2<-ggplot(aes(x=class_category,y=chinese),data=df) + 
  geom_violin()
v3<-ggplot(aes(x=class_category,y=english),data=df) + 
  geom_violin()
v4<-ggplot(aes(x=class_category,y=math),data=df) + 
  geom_violin()
v5<-ggplot(aes(x=class_category,y=science_integrated),data=df) + 
  geom_violin()
v6<-ggplot(aes(x=class_category,y=physics),data=df) + 
  geom_violin()
v7<-ggplot(aes(x=class_category,y=chemistry),data=df) + 
  geom_violin()
v8<-ggplot(aes(x=class_category,y=biology),data=df) + 
  geom_violin()
grid.arrange(v1,v2,v3,v4,v5,v6,v7,v8,ncol=2)

by(df[vars],df$class_category,summary)
## df$class_category: Extraordinary
##   total_score       chinese            math          english     
##  Min.   :534.0   Min.   : 83.00   Min.   :101.0   Min.   :112.0  
##  1st Qu.:595.8   1st Qu.: 98.25   1st Qu.:127.0   1st Qu.:119.8  
##  Median :614.5   Median :101.00   Median :131.0   Median :123.0  
##  Mean   :614.0   Mean   :100.59   Mean   :131.6   Mean   :123.3  
##  3rd Qu.:641.2   3rd Qu.:104.75   3rd Qu.:137.8   3rd Qu.:126.8  
##  Max.   :653.0   Max.   :109.00   Max.   :150.0   Max.   :135.0  
##  science_integrated    physics         chemistry        biology    
##  Min.   :225.0      Min.   : 82.00   Min.   :76.00   Min.   :57.0  
##  1st Qu.:248.0      1st Qu.: 88.25   1st Qu.:86.25   1st Qu.:65.5  
##  Median :261.5      Median :100.00   Median :88.50   Median :71.0  
##  Mean   :258.6      Mean   : 98.73   Mean   :88.36   Mean   :71.5  
##  3rd Qu.:271.8      3rd Qu.:108.00   3rd Qu.:91.75   3rd Qu.:77.0  
##  Max.   :282.0      Max.   :110.00   Max.   :97.00   Max.   :86.0  
## -------------------------------------------------------- 
## df$class_category: Key
##   total_score       chinese           math          english     
##  Min.   :347.0   Min.   : 78.0   Min.   : 72.0   Min.   : 70.0  
##  1st Qu.:498.5   1st Qu.: 92.0   1st Qu.:104.0   1st Qu.: 99.0  
##  Median :531.0   Median : 95.0   Median :115.0   Median :108.0  
##  Mean   :523.7   Mean   : 95.6   Mean   :114.0   Mean   :106.9  
##  3rd Qu.:559.8   3rd Qu.:100.0   3rd Qu.:124.8   3rd Qu.:116.0  
##  Max.   :615.0   Max.   :114.0   Max.   :146.0   Max.   :130.0  
##  science_integrated    physics         chemistry        biology     
##  Min.   :102.0      Min.   : 20.00   Min.   :28.00   Min.   :25.00  
##  1st Qu.:191.2      1st Qu.: 64.00   1st Qu.:67.50   1st Qu.:51.00  
##  Median :210.5      Median : 76.50   Median :77.00   Median :59.50  
##  Mean   :207.2      Mean   : 74.53   Mean   :74.05   Mean   :58.63  
##  3rd Qu.:230.0      3rd Qu.: 85.50   3rd Qu.:83.00   3rd Qu.:67.00  
##  Max.   :258.0      Max.   :105.00   Max.   :96.00   Max.   :78.00  
## -------------------------------------------------------- 
## df$class_category: Normal
##   total_score       chinese            math           english      
##  Min.   :103.0   Min.   : 19.00   Min.   : 10.00   Min.   : 23.00  
##  1st Qu.:404.0   1st Qu.: 85.00   1st Qu.: 82.00   1st Qu.: 81.00  
##  Median :455.0   Median : 90.00   Median : 96.00   Median : 93.00  
##  Mean   :445.8   Mean   : 89.41   Mean   : 95.06   Mean   : 91.01  
##  3rd Qu.:493.0   3rd Qu.: 95.00   3rd Qu.:111.00   3rd Qu.:103.00  
##  Max.   :611.0   Max.   :111.00   Max.   :146.00   Max.   :130.00  
##  science_integrated    physics         chemistry        biology     
##  Min.   : 37.0      Min.   :  2.00   Min.   : 7.00   Min.   :11.00  
##  1st Qu.:144.0      1st Qu.: 47.00   1st Qu.:51.00   1st Qu.:42.00  
##  Median :173.0      Median : 59.00   Median :63.00   Median :50.00  
##  Mean   :170.4      Mean   : 59.01   Mean   :61.81   Mean   :49.54  
##  3rd Qu.:200.0      3rd Qu.: 72.00   3rd Qu.:74.00   3rd Qu.:58.00  
##  Max.   :266.0      Max.   :104.00   Max.   :94.00   Max.   :79.00

结合上面两个chunk的结果,不同类班级学生成绩的分布不同,总的来说Extraordinary>Key>Normal,同样语文成绩三类班级级相差不大。值得注意的是,三个班各单个科目最高分其实相差不大,差别主要体现在平均值上。

双变量分析

探讨你在这部分探究中观察到的一些关系。这些感兴趣的特性与数据集内其他特性有什么区别?

在双变量分析中,观察到不同科目间存在的相关性,不同科目成绩间的相关性或强或弱:
1.各个科目的成绩都与总成绩呈现不同程度的正相关;
2.语文与其他所有科目的相关性都不高;
3.数学与物理以及理综间的相关性较强。
这些感兴趣的特性将不同的特性联系起来,揭示了特性之间的相关性。

你是否观察到主要特性与其他特性之间的有趣关系?

1.语文成绩与总成绩间的关系最弱;
2.理科性质的学科,例如数学和物理对总成绩的相关性最强,其中理科学科与总成绩的相关性最弱的是生物;
3.语文和其他的科目相关性最高的是英语,但是相关系数依然低于0.5;
4.不同类型的班级的总分分布存在显著差异,extraordinary>key>normal.

你发现最强的关系是什么?

理综和总分的关系,其次就是数学。

多变量绘图选择

#画出不同评级学生各科成绩的分布(按照班级类型对评级进行再划分)
t1<-ggplot(aes(x=rating,y=chinese,color=class_category),data=df) + 
  geom_violin()
t2<-ggplot(aes(x=rating,y=math,color=class_category),data=df) + 
  geom_violin()
t3<-ggplot(aes(x=rating,y=english,color=class_category),data=df) + 
  geom_violin()
t4<-ggplot(aes(x=rating,y=science_integrated,color=class_category),data=df) + 
  geom_violin()
t5<-ggplot(aes(x=rating,y=physics,color=class_category),data=df) + 
  geom_violin()
t6<-ggplot(aes(x=rating,y=chemistry,color=class_category),data=df) + 
  geom_violin()
t7<-ggplot(aes(x=rating,y=biology,color=class_category),data=df) + 
  geom_violin()
t8<-ggplot(aes(x=rating,y=total_score,color=class_category),data=df) + 
  geom_violin()
grid.arrange(t1,t2,t3,t4,t5,t6,t7,t8,ncol=2)

从图中可以看出,Extraordinary的学生全部属于a类评级,整体的趋势还是评级A>B>C>D,在同一评级下,Extraordinary>Key>Normal。

i1<-ggplot(aes(x=rating,y=chinese),data=df)+
  geom_jitter(aes(color=class_category),alpha=0.7,
              size=0.4,position=position_jitter(h=0))+
  scale_color_brewer(type = 'div',palette="Set2")
i2<-ggplot(aes(x=rating,y=math),data=df)+
  geom_jitter(aes(color=class_category),alpha=0.7,size=0.4,
              position=position_jitter(h=0))+
  scale_color_brewer(type = 'div',palette="Set2")
i3<-ggplot(aes(x=rating,y=english),data=df)+
  geom_jitter(aes(color=class_category),alpha=0.7,size=0.4,
              position=position_jitter(h=0))+
  scale_color_brewer(type = 'div',palette="Set2")
i4<-ggplot(aes(x=rating,y=physics),data=df)+
  geom_jitter(aes(color=class_category),alpha=0.7,size=0.4,
              position=position_jitter(h=0))+
  scale_color_brewer(type = 'div',palette="Set2")
i5<-ggplot(aes(x=rating,y=chemistry),data=df)+
  geom_jitter(aes(color=class_category),alpha=0.7,size=0.4,
              position=position_jitter(h=0))+
  scale_color_brewer(type = 'div',palette="Set2")
i6<-ggplot(aes(x=rating,y=biology),data=df)+
  geom_jitter(aes(color=class_category),alpha=0.7,size=0.4,
              position=position_jitter(h=0))+
  scale_color_brewer(type = 'div',palette="Set2")

grid.arrange(i1,i2,i3,i4,i5,i6,ncol=2)

此图相较于上图包括了人数的信息(每个点表示一个个体)。两者结论一致。

#以下是对双变量分析中相关性较强的变量间的探究,探究不同评级的学生的这些学科间的相关性存在怎样的差异
#理综和总分
ggplot(aes(x=science_integrated,y=total_score),data=df) + 
  geom_point(aes(color=class_category),alpha=0.5,size=0.8)+geom_smooth(size=0.6)+
  facet_wrap(~rating,scale='free')
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

理综与总分之间的相关性在评级为A和D的学生中最显著,在B和C同学的学生中不显著。

#数学和总分
ggplot(aes(x=math,y=total_score),data=df) + 
  geom_point(aes(color=class_category),alpha=0.5,size=0.8)+geom_smooth(size=0.6)+
  facet_wrap(~rating,scale='free')
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

数学与总分之间的相关性在评级为A和D的学生中最显著,在B和C同学的学生中不显著

#物理和理综
ggplot(aes(x=physics,y=science_integrated),data=df) + 
  geom_point(aes(color=class_category),alpha=0.5,size=0.8)+
  geom_smooth(size=0.6)+facet_wrap(~rating,scale='free')
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

物理与理综四个评级中都显著,评级A的物理与理综最显著。

#化学和理综
ggplot(aes(x=chemistry,y=science_integrated),data=df) + 
  geom_point(aes(color=class_category),alpha=0.5,size=0.8)+geom_smooth(size=0.6)+
  facet_wrap(~rating,scale='free')
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

化学与理综的相关性在四个评级中都显著,评级D的化学与理综最显著

#接下来,探讨关键经验问题,语言类学科与数理学科真的对理科生来说是“鱼与熊掌不可兼得”吗?
#将语言学科和数理学科的成绩加和汇总,探究两者之间的相关性
ggplot(aes(x=df$chinese+df$english,y=df$math+df$science_integrated),data=df)+
  geom_point(aes(color=class_category),alpha=0.7,size=1,
             position=position_jitter(h=0))+
  facet_wrap(~rating,scale='free')+geom_smooth(size=0.6)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

从图中发现了一个很有意思的现象,评级B和C的同学语言成绩与数理成绩出现了明显的负相关,在A与B,D与C类交界的地方也存在负相关。

多变量分析

探讨你在这部分探究中观察到的一些关系。通过观察感兴趣的特性,是否存在相互促进的特性?

1.Extraordinary所有学生的评级均为A;
2.Key班分布的最宽的地方几乎都位与比Normal班最宽部位的上方(小提琴图);
3.不同班,不同评级的学生在语文成绩上的分布差异最小;
4.学科之间的相关性会因评级的不同而有所差异。

存在。

这些特性之间是否存在有趣或惊人的联系呢?

1.数学与总分以及理综与总分之间的相关性在评级为A和D的学生中最显著,在B和C同学的学生中不显著。
2.物理与理综和化学与理综的相关性在四个评级中都显著,评级A的物理与理综最显著,评级D的化学与理综最显著。


定稿图与总结

绘图一

描述一

这幅图显示了不同评级,不同类班级的学生在各科成绩以及总分上的分布。其中红色虚线分别表示,该项成绩的百分之75,百分之50以及百分之25的分位数。
从图中可以看出,Extraordinary类班级的成绩分布几乎位于所有科目成绩分布的最上方。Extraordinary与Key班级的学生绝大部分属于评级A。在每科成绩的75%分位线上的C,D类学生很少,这类学生往往属于偏科生。A类学生大部分位于各科成绩的50%的分位数线的上方。不同评级以及不同类班级在成绩上差别最大的单个学科是数学和物理,差异最小的是语文。

绘图二

描述二

这幅热图来自于分析图报告中的热图的优化,表示了不同学科间两两的相关系数的大小情况。颜色越深表示,两个学科成绩之间的相关性越强。
从图中可以看出,总分与数学和理综的相关性非常强。语文与其他科目的相关性都很差。数理性质比较强的科目之间也存在着不小的相关性。揭示了不同的理科学科背后可能都要求学生具有很类似的数理逻辑能力。

绘图三

## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

描述三

这幅图主要描述了不同评级类学生语言成绩(语文和英语)以及数理成绩(数学和理综)间的相关性;
从图中发现了一个很有意思的现象,评级B和C的同学语言成绩与数理成绩出现了明显的负相关,在A与B,D与C类交界的地方也存在负相关。这说明大部分中等学生很难同时把握数理能力和语言能力(也就是存在一定程度的偏科),而这一特点也限制了B,C类学生的成绩,也证实了我们经验“语文英语好的学生普遍数理差,数理好的学生学不好语文和英语”存在一定道理。对于A类学生中的高分段的学生,出现了一定程度正相关,也说明了要想取得高分必须同时掌握这两种能力,尽管有时候这两种能力可能会有些互相冲突的地方。

反思

梗概:
该项目,我通过单变量分析确认感兴趣的变量的分布,通过双变量分析确定变量间的相关性水平以及通过多变量分析引入更多的维度分析不同评级,不同类班级会对成绩的分布以及科目之间的相关性产生怎样的影响。意在多方位揭示学科之间的关系,以及理科学生总成绩的差异来源于哪些方面。

成功与挫折:
这次项目的成功之处在于通过单变量分析确认感兴趣的变量的分布,通过双变量分析确定变量间的相关性水平以及通过多变量分析引入更多的维度分析揭示了不同评级,不同类班级会对成绩的分布以及科目之间的相关性产生怎样的影响。这次项目也经受了一些挫折(局限),比如一次考试的成绩可能具有偶然性,相关性的结果可能会受此影响,难以看出并衡量学生的潜力或者竞争力。

未来的建议和思路:
我在以后可以尝试多纳入几次考试的成绩,构成一个时间序列式的数据集,用这种方式来评价一个学生的潜力。也可以针对各科成绩排名构建评级变量,与总评级一起更全面地探究学科间的相关关系。

重要的决定和产生的影响:
1.创建了分类变量“class_category”,揭示了不同类班级成绩分布上的差别。
2.在进行相关性分析的时候,引入学生的评级,揭示出了不同评级下的学生科目成绩间的相关性是有所差异的。